UserDataPrinter Klassenreferenz


Öffentliche, statische Methoden

static printUserData ($userdata)

Ausführliche Beschreibung

Diese Klasse dient zur Ausgabe der benutzerspezifischen Daten.

Siehe auch:
UserData

Definiert in Zeile 33 der Datei class.userdataprinter.inc.php.


Dokumentation der Elementfunktionen

static printUserData ( userdata  )  [static]

Diese Funktion gibt die benutzerspezifischen Daten aus.

Parameter:
UserData 
Rückgabe:
string

Definiert in Zeile 43 der Datei class.userdataprinter.inc.php.

00043                                                     {
00044         if (!$userdata instanceof UserData) {
00045             return 'Bei der Ermittlung der benutzerspezifischen Daten ist ein Fehler aufgetreten.';
00046         }
00047 
00048         if (count($userdata->getUserData()) === 0) {
00049             return 'Es konnten keine benutzerspezifischen Daten ermittelt werden.';
00050         }
00051 
00052         ob_start();
00053 
00054         $metadata = $userdata->getMetaData();
00055         $currentCourse = null;
00056         $currentModule = null;
00057 
00058         echo '<p>Stand: '.date('j.n.Y H:i:s', time())
00059         .' (eStudy Version: '.ESTUDY_VERSION.')</p>';
00060 
00061         if (($count = count($metadata[UserDataProvider::COURSE])) > 1) {
00062             echo '<p>Die folgenden <b>'.$count.'</b> Kurse wurden durchsucht:<ul>';
00063             foreach ($metadata[UserDataProvider::COURSE] as $courseID => $course) {
00064                 echo '<li><a href="#course_'.urlencode($courseID).'">'.$course['name'].'</a>'.self::getFlags($course).'</li>';
00065             }
00066             echo '</ul></p>';
00067         }
00068 
00069         echo '<p>Sie haben das Recht die &uuml;ber Sie gespeicherten Daten zu l&ouml;schen!<br/>'
00070         .'Dies k&ouml;nnen Sie jeweils dort tun, wo Sie die Inhalte erstellt haben.</p>';
00071 
00072         $toggleBackground = false;
00073         foreach ($userdata->getUserData() as $data) {
00074             foreach ($data as $key => $value) {
00075                 $data[$key]= self::toHTML($value);
00076             }
00077 
00078             if ($currentCourse !== $data[UserDataProvider::COURSE]) {
00079                 if ($currentCourse !== null) {
00080                     echo '</table>';
00081                 }
00082 
00083                 echo '<table class="tableBorder" width="100%" cellspacing="0" cellpadding="3">'
00084                 .'<colgroup><col width="20%"><col width="30%"><col width="50%"></colgroup>'
00085                 .'<tr class="tableHead"><td colspan="3">'
00086                 .$metadata[UserDataProvider::COURSE][$data[UserDataProvider::COURSE]]['name']
00087                 .self::getFlags($metadata[UserDataProvider::COURSE][$data[UserDataProvider::COURSE]])
00088                 .' <a href="#" id="course_'.urlencode($data[UserDataProvider::COURSE]).'" name="course_'.urlencode($data[UserDataProvider::COURSE]).'"> </a>'
00089                 .'</td></tr>';
00090 
00091                 $currentCourse = $data[UserDataProvider::COURSE];
00092                 $currentModule = null;
00093             }
00094             if ($currentModule !== $data[UserDataProvider::MODULE]) {
00095                 if ($currentModule !== null) {
00096                     echo '<tr class="'.(!$toggleBackground?'tableCellDark':'tableCell').'"><td colspan="3"><br/></td></tr>';
00097                 }
00098                 $currentModule = $data[UserDataProvider::MODULE];
00099                 $toggleBackground = false;
00100 
00101                     
00102                 echo '<tr class="tableCellHead"><td colspan="3">'.$metadata[UserDataProvider::MODULE][$data[UserDataProvider::MODULE]]['name'].'</td></tr>'
00103                 .'<tr class="tableCellDark"><td>Datum</td><td>Beschreibung</td><td>Inhalt</td></tr>';
00104             }
00105             echo '<tr class="'.($toggleBackground?'tableCellDark':'tableCell').'" valign="top">'
00106             .'<td>'.date('j.n.Y H:i:s', $data['date']).'</td>'
00107             .'<td>'.$data['hint'].'</td>'
00108             .'<td>'.$data['content'].'</td>'
00109             .'</tr>';
00110 
00111             /*
00112              * TODO: Links zum Löschen, Anonymisieren usw. wie folgt ausgeben:
00113              *
00114              * echo '<a href="#?action=delete'
00115              * .'&module='.urlencode($userdata->getModuleID($data[UserDataProvider::MODULE]))
00116              * .'&course='.urlencode($data[UserDataProvider::COURSE])
00117              * .'&id='.urlencode($data['id'])
00118              * .'">löschen</a>';
00119              */
00120             $toggleBackground = !$toggleBackground;
00121         }
00122         echo '</table>';
00123 
00124         return ob_get_clean();
00125     }


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:

Erzeugt am Tue Jan 20 19:10:33 2009 für eStudy-Datenauszug von  doxygen 1.5.5